/**
 */
package org.mro.grib.model.files.secondEdition.products;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Product Definition Template45</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getForecastProbabilityNumber <em>Forecast Probability Number</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getTotalNumberOfForecastProbabilities <em>Total Number Of Forecast Probabilities</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getProbabilityType <em>Probability Type</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaleFactorOfLowerLimit <em>Scale Factor Of Lower Limit</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaledValueOfLowerLimit <em>Scaled Value Of Lower Limit</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaleFactorOfUpperLimit <em>Scale Factor Of Upper Limit</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaledValueOfUpperLimit <em>Scaled Value Of Upper Limit</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45()
 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Probability forecasts at a horizontal level or in a horizontal layer\r\nat a point in time' note_1_en='Hours greater than 65534 will be coded as 65534'"
 * @generated
 */
public interface ProductDefinitionTemplate45 extends ProductDefinitionTemplate40 {
	/**
	 * Returns the value of the '<em><b>Forecast Probability Number</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Forecast Probability Number</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Forecast Probability Number</em>' attribute.
	 * @see #setForecastProbabilityNumber(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45_ForecastProbabilityNumber()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Forecast probability number' description_en='Forecast probability number'"
	 * @generated
	 */
	byte getForecastProbabilityNumber();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getForecastProbabilityNumber <em>Forecast Probability Number</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Forecast Probability Number</em>' attribute.
	 * @see #getForecastProbabilityNumber()
	 * @generated
	 */
	void setForecastProbabilityNumber(byte value);

	/**
	 * Returns the value of the '<em><b>Total Number Of Forecast Probabilities</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Total Number Of Forecast Probabilities</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Total Number Of Forecast Probabilities</em>' attribute.
	 * @see #setTotalNumberOfForecastProbabilities(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45_TotalNumberOfForecastProbabilities()
	 * @model required="true"
	 * @generated
	 */
	byte getTotalNumberOfForecastProbabilities();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getTotalNumberOfForecastProbabilities <em>Total Number Of Forecast Probabilities</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Total Number Of Forecast Probabilities</em>' attribute.
	 * @see #getTotalNumberOfForecastProbabilities()
	 * @generated
	 */
	void setTotalNumberOfForecastProbabilities(byte value);

	/**
	 * Returns the value of the '<em><b>Probability Type</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Probability Type</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Probability Type</em>' attribute.
	 * @see #setProbabilityType(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45_ProbabilityType()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Probability type' description_en='Probability type (see Code table 4.9)'"
	 * @generated
	 */
	byte getProbabilityType();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getProbabilityType <em>Probability Type</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Probability Type</em>' attribute.
	 * @see #getProbabilityType()
	 * @generated
	 */
	void setProbabilityType(byte value);

	/**
	 * Returns the value of the '<em><b>Scale Factor Of Lower Limit</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scale Factor Of Lower Limit</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scale Factor Of Lower Limit</em>' attribute.
	 * @see #setScaleFactorOfLowerLimit(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45_ScaleFactorOfLowerLimit()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scale factor of lower limit' description_en='Scale factor of lower limit'"
	 * @generated
	 */
	byte getScaleFactorOfLowerLimit();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaleFactorOfLowerLimit <em>Scale Factor Of Lower Limit</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scale Factor Of Lower Limit</em>' attribute.
	 * @see #getScaleFactorOfLowerLimit()
	 * @generated
	 */
	void setScaleFactorOfLowerLimit(byte value);

	/**
	 * Returns the value of the '<em><b>Scaled Value Of Lower Limit</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scaled Value Of Lower Limit</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scaled Value Of Lower Limit</em>' attribute.
	 * @see #setScaledValueOfLowerLimit(int)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45_ScaledValueOfLowerLimit()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scaled value of lower limit' description_en='Scaled value of lower limit'"
	 * @generated
	 */
	int getScaledValueOfLowerLimit();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaledValueOfLowerLimit <em>Scaled Value Of Lower Limit</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scaled Value Of Lower Limit</em>' attribute.
	 * @see #getScaledValueOfLowerLimit()
	 * @generated
	 */
	void setScaledValueOfLowerLimit(int value);

	/**
	 * Returns the value of the '<em><b>Scale Factor Of Upper Limit</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scale Factor Of Upper Limit</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scale Factor Of Upper Limit</em>' attribute.
	 * @see #setScaleFactorOfUpperLimit(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45_ScaleFactorOfUpperLimit()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scale factor of upper limit' description_en='Scale factor of upper limit'"
	 * @generated
	 */
	byte getScaleFactorOfUpperLimit();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaleFactorOfUpperLimit <em>Scale Factor Of Upper Limit</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scale Factor Of Upper Limit</em>' attribute.
	 * @see #getScaleFactorOfUpperLimit()
	 * @generated
	 */
	void setScaleFactorOfUpperLimit(byte value);

	/**
	 * Returns the value of the '<em><b>Scaled Value Of Upper Limit</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scaled Value Of Upper Limit</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scaled Value Of Upper Limit</em>' attribute.
	 * @see #setScaledValueOfUpperLimit(int)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate45_ScaledValueOfUpperLimit()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scaled value of upper limit' description_en='Scaled value of upper limit'"
	 * @generated
	 */
	int getScaledValueOfUpperLimit();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate45#getScaledValueOfUpperLimit <em>Scaled Value Of Upper Limit</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scaled Value Of Upper Limit</em>' attribute.
	 * @see #getScaledValueOfUpperLimit()
	 * @generated
	 */
	void setScaledValueOfUpperLimit(int value);

} // ProductDefinitionTemplate45
